unit UEstado;

interface
    uses
      UGenerica, UPais;
    type
      Estado = class (Generica)

protected
      nome     : string;
      sigla    : string;
      umPais   : Pais;

public
    constructor Create;
    destructor  Destroy;

    procedure setNome  (vNome  : string);
    procedure setSigla (vSigla : String);
    procedure setPais  (vPais  : Pais);

    function getNome    : string;
    function getSigla   : String;
    function getPais    : Pais;

end;

implementation

{ Estado }

constructor Estado.Create;
begin
    inherited;
    umPais := Pais.Create;
end;

destructor Estado.Destroy;
begin

end;

function Estado.getNome: string;
begin
   Result := nome;
end;

function Estado.getPais: Pais;
begin
   Result := umPais;
end;

function Estado.getSigla: String;
begin
    Result := sigla;
end;

procedure Estado.setNome(vNome: string);
begin
   nome := vNome;
end;

procedure Estado.setPais(vPais: Pais);
begin
    umPais := vPais;
end;

procedure Estado.setSigla(vSigla: String);
begin
    sigla := vSigla;
end;

end.
